package sh.grapendaal.tsuushin.module.uno.engine.dto;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

import sh.grapendaal.tsuushin.module.uno.engine.domain.Card;
import sh.grapendaal.tsuushin.module.uno.engine.domain.achievement.Achievement;

public class PlayerState implements Serializable {
	
	private static final long serialVersionUID = 1647663564077909523L;
	
	private String nickname;
	private List<Card> cards;
	private List<Card> newCards;
	private Card drawnCard;
	private Set<Class<? extends Achievement>> unlockedAchievements;
	private StatisticsState statistics;
	
	public PlayerState() {
		// Default constructor.
	}
	
	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public List<Card> getCards() {
		return cards;
	}

	public void setCards(List<Card> cards) {
		this.cards = cards;
	}

	public List<Card> getNewCards() {
		return newCards;
	}

	public void setNewCards(List<Card> newCards) {
		this.newCards = newCards;
	}

	public Card getDrawnCard() {
		return drawnCard;
	}

	public void setDrawnCard(Card drawnCard) {
		this.drawnCard = drawnCard;
	}

	public Set<Class<? extends Achievement>> getUnlockedAchievements() {
		return unlockedAchievements;
	}

	public void setUnlockedAchievements(Set<Class<? extends Achievement>> unlockedAchievements) {
		this.unlockedAchievements = unlockedAchievements;
	}

	public StatisticsState getStatistics() {
		return statistics;
	}

	public void setStatistics(StatisticsState statistics) {
		this.statistics = statistics;
	}
}
